import { defineStore } from 'pinia'

interface IForm {
  serialNumberEnable: boolean
  serialNumberOnly: boolean
  serialNumberPosition: '0' | '1' | '2'
  serialNumbeAfterCharacter: number
  serialNumberType: '0' | '1' | '2' | '3'
  serialNumberStart: number
  serialNumberStep: number
  serialNumberDigit: number
  serialNumberCharStart: number
  serialNumberChartStep: number
  serialNumberRandomRule: '0' | '1' | '2'
  serialNumberRandomChartCount: number
  serialNumberDateType: '0' | '1' | '2'
  serialNumberDateFormat: '0' | '1' | '2' | '3' | '4' | '5' | '6'
}

const useSerialNumberFormStore = defineStore('serialNumberForm', {
  state(): IForm {
    return {
      // 编号设置
      serialNumberEnable: true,
      // 仅使用编号作为文件名
      serialNumberOnly: false,
      // 位置
      serialNumberPosition: '0',
      // 位置 - 自定义 - 在第几个字符后
      serialNumbeAfterCharacter: 0,
      // 类型
      serialNumberType: '0',
      // 数字 - 起始
      serialNumberStart: 0,
      // 数字 - 增量
      serialNumberStep: 0,
      // 数字 - 位数
      serialNumberDigit: 0,
      // 字母 - 起始
      serialNumberCharStart: 0,
      // 字母 - 增量
      serialNumberChartStep: 0,
      // 随机字符 - 随机规则
      serialNumberRandomRule: '0',
      // 随机字符 - 字符数
      serialNumberRandomChartCount: 0,
      // 时间 - 时间类型
      serialNumberDateType: '0',
      serialNumberDateFormat: '1'
    }
  }
})

export default useSerialNumberFormStore
